Industrial controllers are special-purpose computers utilized for controlling industrial processes, manufacturing equipment, and other factory automation, such as data collection or networked systems. In accordance with a control program, the industrial controller, having an associated processor (or processors), measures one or more process variables or inputs reflecting the status of a controlled system, and changes outputs effecting control of such system. The inputs and outputs may be binary, (e.g., on or off), as well as analog inputs and outputs assuming a continuous range of values.
Measured inputs received from such systems and the outputs transmitted by the systems generally pass through one or more input/output (I/O) modules. These I/O modules serve as an electrical interface to the controller and may be located proximate or remote from the controller including remote network interfaces to associated systems. Inputs and outputs may be recorded in an I/O table in processor memory, wherein input values may be asynchronously read from one or more input modules and output values written to the I/O table for subsequent communication to the control system by specialized communications circuitry (e.g., back plane interface, communications module). Output modules may interface directly with one or more control elements, by receiving an output from the I/O table to control a device such as a motor, valve, solenoid, amplifier, and the like.
At the core of the industrial control system, is a logic processor such as a Programmable Logic Controller (PLC) or PC-based controller. Programmable Logic Controllers for instance, are programmed by systems designers to operate manufacturing processes via user-designed logic programs or user programs. The user programs are stored in memory and generally executed by the PLC in a sequential manner although instruction jumping, looping and interrupt routines, for example, are also common. Associated with the user program are a plurality of memory elements or variables that provide dynamics to PLC operations and programs. These variables can be user-defined and can be defined as bits, bytes, words, integers, floating point numbers, timers, counters and/or other data types to name but a few examples.
Presently, industrial control systems are migrating from proprietary network communications solutions to more open standard networks based upon Internet protocols and standards. However, Internet protocols necessarily require the network to be set-up and properly configured. When setting up and configuring a control system for the first time, such a network has not yet been established. Conventionally, boot-strap protocols alone or in combination with handheld held mini-programmers or personal computers (e.g., laptop) that are physically connected (e.g., via a serial port) to the control system are utilized to configure and set-up a control system. Accordingly there is a need in the art for an improved system and method for network set-up and configuration.
Furthermore, conventional diagnostic systems are in the form of a separate control module which diagnoses problems associated with devices that a controller controls. Such diagnostic systems are not available for use unless the controller and the diagnostic module are functioning properly. Additionally, conventional diagnostic systems are typically not aimed at the controller and its modules. Accordingly, there is a need in the art for a system that monitors the health of a controller and it modules as well as the devices connected thereto, and which does so without interfering with the operation of the controller.